//
// Created by Zain on 2016/9/9.
//

#ifndef ZAINTL_FILEINPUTSTREAM_H
#define ZAINTL_FILEINPUTSTREAM_H

#include "InputStream.h"

namespace ZainTL {
    class FileInputStream : public InputStream {
    public:
        FileInputStream(const char *path);

        ~FileInputStream();

        std::streamsize read(char *buffer, std::streamsize bufferSize);

        std::streamsize available();

        bool eof();

        uint16_t getShort();

        uint64_t getLong();

        char getChar();
    };
}


#endif //ZAINTL_FILEINPUTSTREAM_H
